home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Programming / LEDA / DaggeX / doc / daggex.doc < prev    next >
Text File  |  1993-12-08  |  6KB  |  185 lines

  1.  
  2.                                 DaggeX 0.9
  3.  
  4.             COPYRIGHT 1993 by Kari Mettinen and Leonard Norrgård.
  5.  
  6. This file contains ducumentation about what's different in DaggeX from the
  7. 'standard' MIT distribution.
  8.  
  9. But first a few general things about DaggeX0.9 distribution.
  10.  
  11. 1) This release has been compiled for 68020 and better CPUs. There will be a
  12.    plain 68000 distribution later.
  13.  
  14. 2) This release doesn't use as225 for TCP/IP communications. (this would be
  15.    DaggeX1.0 if it would ;)
  16.  
  17. 3) This release does use AmiTCP for TCP/IP communications.
  18.  
  19. 4) You don't need AmiTCP to run DaggeX locally.
  20.  
  21. 5) Xhost doesn't work. Xauth does.
  22.  
  23. 6) This is still beta.
  24.  
  25.  
  26.  
  27. Now with all that FAQish stuff done, lets get to the real stuff.
  28.  
  29. As you might guess, DaggeX is a port oof the MIT X11R5 Sample server. Most
  30. things work the way it works in the MIT server, see X.doc and Xserver.doc
  31. for general information. Most paths are different from the MIT distribution,
  32. but I suggest you try to make the enviroment similar to the usual unix
  33. enviroment. It will make things easier.
  34.  
  35. If you have gcc installed, I suggest you use /bin/x11 for binaries, and
  36. usr/lib/X11 for misc stuff. A few paths are hardcoded to /usr/lib/x11
  37. anyway.
  38.  
  39.  
  40. Now the Amiga-specific commandline options.
  41.  
  42. -amitcp        
  43.  
  44.         This will tell DaggeX to try use AmiTCP for TCP/IP
  45.         communications. You must have AmiTCP running before running
  46.         DaggeX with this option. AmiTCP version used to compile DaggeX
  47.         was 2.1
  48.  
  49. -width    <u_short>
  50.     
  51.         This will tell DaggeX the width of the screen to run DaggeX on.
  52.         This will be overrun if asl-reqquester is used.
  53.  
  54. -height <u_short>
  55.         
  56.         This will tell DaggeX the height of the screen to run DaggeX on.
  57.         This will be overrun if asl-requester is used.
  58.  
  59. -native
  60.  
  61.         This will tell DaggeX to open the DaggeX screen with
  62.         OpenScreen() call, which will use the native chipset in the
  63.         most cases. This is the default.
  64.  
  65. -village
  66.  
  67.         This will tell DaggeX to open the DaggeX screen to the
  68.         Picasso-II gfx-board.
  69.  
  70. -depth <u_char>
  71.         This will tell DaggeX the depth of the screen to be opened.
  72.         Currently only valid values are 1 and 8. '-native' means
  73.         '-depth 1' and it is the default. With village you must define
  74.         '-depth 8' on the command line.
  75.  
  76.  
  77.  
  78. About stack usage, I've used 300000 and it seems to be enough, less might be
  79. enough too. I wouldn't go under 50000. But then who knows, that might work too.
  80. (no I haven't done any stack-usage tests ;)
  81.  
  82.  
  83. About priorities, it seems to be best to run server with a higher priority than
  84. the clients. Clients should use the same priority because if a client is trying
  85. to establish connection and has higher priority than the window-manager a 
  86. deadlock migh occur.
  87.  
  88.  
  89. About Authorization, as said previously xhost don't work. Xauth does. Until
  90. I get xhost working you should get to know how to use xauth. Xauth is quite
  91. simple, you have a list that has addresses of machines with so called cookies.
  92. When a client tries to connect to a server, it looks up the server-machines
  93. address from the list and uses the cookie attached to the address for
  94. authorization. When a server gets a request from a client that wants to
  95. establish connection to the server, it gets the authorization cookie from the
  96. request looks up the adress of the client machine, then looks up that
  97. address-entry from the list and checks if the cookie in it's own list is the
  98. same that's on the request from the client. If it is the same, the connection
  99. is accepted, if not, it's refused.
  100.  
  101. An example:
  102.  
  103. at amiga.workstaion.running.daggex
  104.  
  105. you have for example enviroment variable XAUTHORITY set to foo:.xauthority
  106.  
  107. now when you start xauth on that machine you get a 'xauth>' promt.
  108.  
  109. xauth> list
  110. localhost:0  MIT-MAGIC-COOKIE-1 6666
  111. 124.5.6.7:0 MIT-MAGIC-COOKIE-1  1122332211
  112. xauth>
  113.  
  114. Now lets imagine that you'd want to run clients on a machine called
  115. cray.ymp.running.xpilot . You'd do the following.
  116.  
  117. shell> nslookup cray.ymp.running.xpilot
  118. 123.45.67.89
  119. shell> xauth
  120. xauth> add 123.45.67.89:0 . 1122334455
  121. xauth> list
  122. localhost:0  MIT-MAGIC-COOKIE-1  6666
  123. 124.5.6.7:0  MIT-MAGIC-COOKIE-1  1122332211
  124. 123.45.67.89:0  MIT-MAGIC-COOKIE-1 1122334455
  125. xauth> exit
  126. Writing authority file /foo/.xauthority
  127. shell>
  128.  
  129. Now on the cray.ymp.running.xpilot you'd do the following.
  130.  
  131. whatevershell$ nslookup amiga.workstation.running.daggex
  132. 128.54.32.1
  133. whatevershell$ xauth
  134. xauth> add 128.54.32.1:0 . 1122334455
  135. xauth> exit
  136. Writing authority file /tengigdisk/foo/.Xauthority
  137. whatevershell$ xpilot -display amiga.workstation.running.daggex:0
  138.  
  139.  
  140. The trick here is (as some of you might already have guessed) to have the same
  141. cookie for both machines. In this case '1122334455'.
  142.  
  143. For more information about the subject, read manpages for xauth.
  144.  
  145.  
  146. DaggeX uses Markus Wild's ixemul.library extensively. You should enable ixemul's
  147. unix-type path translation. That means tell ixemul to use /usr/foo instead of
  148. usr:foo .
  149.  
  150.  
  151. BUGS
  152.  
  153.     Inverted rectangles don't work properly with 8-bit displays when using
  154.     other colors than black and white.
  155.  
  156.     Large GetImage() calls don't work with local communications, should
  157.     work ok with AmiTCP if DaggeX can get enough mem from the system. This
  158.     affects xwd.
  159.  
  160.     There are some bugs on the clients side. Xedit dies if trying to use
  161.     ^S or ^R (search), this crashes most of the times, but not always.
  162.  
  163.     XBell() call has probles too.
  164.  
  165. TODO
  166.  
  167.     as225 support. 15,16 and 24-bit support. bugfixes.    
  168.  
  169. THANKS TO
  170.  
  171.     Markus Wild for gcc and ixemul.library.
  172.  
  173.     Leonard Norrgård for asl-requester code and numerous suggestions,
  174.     tests and general support. He was the first person to run DaggeX.
  175.  
  176.     AmiTCP Group for AmiTCP.
  177.  
  178.     Michael van Elst for compiling part of DaggeX, I only have 7M of memory.
  179.  
  180.     Michael Balzer for debugging and Village Tronic connection.
  181.  
  182.     Village Tronic Gmbh for support.
  183.  
  184.     Everyone who has helped.
  185.